name: Deploy Docs
on:
  workflow_run:
    workflows:
      - Build Docs
    types:
      - completed

jobs:
  deploy-docs:
    runs-on: ubuntu-latest
    steps:
      - name: Dump GitHub context
        env:
          GITHUB_CONTEXT: ${{ toJson(github) }}
        run: echo "$GITHUB_CONTEXT"
      - uses: actions/checkout@v4
      - name: Clean site
        run: |
          rm -rf ./site
          mkdir ./site
      - name: Download Artifact Docs
        id: download
        uses: dawidd6/action-download-artifact@v3.0.0
        with:
          if_no_artifact_found: ignore
          github_token: ${{ secrets.FASTAPI_PREVIEW_DOCS_DOWNLOAD_ARTIFACTS }}
          workflow: build-docs.yml
          run_id: ${{ github.event.workflow_run.id }}
          name: docs-site
          path: ./site/
      - name: Deploy to Cloudflare Pages
        if: steps.download.outputs.found_artifact == 'true'
        id: deploy
        uses: cloudflare/pages-action@v1
        with:
          apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
          accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
          projectName: fastapitiangolo
          directory: './site'
          gitHubToken: ${{ secrets.GITHUB_TOKEN }}
          branch: ${{ ( github.event.workflow_run.head_repository.full_name == github.repository && github.event.workflow_run.head_branch == 'master' && 'main' ) || ( github.event.workflow_run.head_sha ) }}
      - name: Comment Deploy
        if: steps.deploy.outputs.url != ''
        uses: ./.github/actions/comment-docs-preview-in-pr
        with:
          token: ${{ secrets.FASTAPI_PREVIEW_DOCS_COMMENT_DEPLOY }}
          deploy_url: "${{ steps.deploy.outputs.url }}"
